Version Packages#2286
Draft
seek-oss-ci wants to merge 1 commit intomainfrom
Draft
Conversation
4009f45 to
4bb7697
Compare
35e49cf to
a247950
Compare
ace3fe1 to
e155d51
Compare
854590d to
05d2e24
Compare
ee55225 to
d535ea6
Compare
8dd31a9 to
89ce8d7
Compare
89ce8d7 to
8ef6c89
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
skuba@16.0.0
Major Changes
build, lint, test: Migrate to ESM (#2124)
As part of our migration to ESM, skuba's source code is now pure ESM. Its packages are still published as dual ESM/CJS at this time.
skuba will attempt to automatically transition your project to ESM and migrate your tests from Jest to Vitest. It will scaffold a new
vitest.config.ts, but existing Jest customisations and Jest-specific libraries likejest-dynalitewill require manual adjustment.For package publishers,
skuba build-packageshould handle publishing dual ESM/CJS packages automatically. You should release this as a breaking change for your consumers. Some build tools may behave differently when they detect"type": "module"in your package.json. Test your packages thoroughly after the migration to confirm everything works as expected.Example changelog entry:
View the migration guide for more details.
test: Migrate to Vitest (#2274)
skuba testnow calls Vitest as the test runner instead of Jest.Vitest does not provide globals for
describe,expect,it, etc. You need to import them fromvitest:Vitest brings environment-aware behaviour to
skuba test: it defaults to watch mode in an interactive shell on your local machine, and non-watch mode in CI. You can explicitly set the mode by passing the--watchor--no-watchflags toskuba testor using theskuba test watchandskuba test runsubcommands:skuba testwill forward any additional arguments to Vitest, so you can also use Vitest's CLI flags:skuba test --uiThis opens up the Vitest UI in your browser, which provides a visual interface for running and debugging tests.
Minor Changes
start: Support named
appexport (#2324)skuba startnow resolves a namedappexport as a request listener, in addition to the existing default export.migrate: Add ESM migration (#2274)
If your project does not use
skubadirectly, you can still run our migration to ESM usingnpxorpnpm dlx:View the migration guide for more details.
lint: Replace hoisted Jest dependencies with Vitest (#2124)
lint: Migrate Dockerfiles from
pnpm install --prodtopnpm prune --prod(#2326)A new patch will replace any
RUN pnpm install ... --prod(including variants withCI=true) withRUN pnpm prune --prod, which is a more explicit and reliable way to remove dev dependencies from the production image. You may see a reduction in container vulnerabilities as a result of this change.init: Support local templates (#2333)
skuba initcan now initialise a project from a local directory path.This is available for programmatic usage by prepending
local:to the path intemplateName.lint: Remove
pnpm-plugin-skubafrom package.json (#2351)start: Fix live reloading (#2139)
test: Remove GitHub annotations (#2124)
Our first Vitest release does not support inline GitHub annotations in CI. This feature may be restored in future.
Patch Changes
template/*: Migrate to ESM (#2355)
template/*-rest-api: Use
pnpm prune --prodto remove dev dependencies in Dockerfiles (#2326)Our API template Dockerfiles previously ran
CI=true pnpm install --offline --prodafter building to strip dev dependencies fromnode_modules. This has been replaced withpnpm prune --prod, which is a more explicit and reliable way to remove dev dependencies from the production image. You may see a reduction in container vulnerabilities as a result of this change.template/*-npm-package: Resolve
#srcalias to./srcdirectory during package builds (#2322)deps: esbuild ~0.28.0 (#2320)
deps: @inquirer/prompts ^8.0.0 (#2303)
deps: rolldown 1.0.0-rc.13 (#2319)
deps: read-package-up ^12.0.0 (#2302)
deps: @ast-grep/napi ^0.42.0 (#2285)
lint: Remove
semver@5.7.2frompnpm-workspace.yamltrustPolicyExcludelist (#2300)This legacy package version is no longer a transitive dependency of skuba.
@skuba-lib/changesets-changelog@1.0.0
Major Changes
@skuba-lib/detect-invalid-spies@1.0.0
Major Changes
eslint-config-skuba@9.0.0
Major Changes
Migrate from
eslint-config-seek/basetoeslint-config-seek/vitest/base(#2124)This package now ships Vitest ESLint rules instead of Jest rules. If you are consuming
eslint-config-skubadirectly, you will need to defer this upgrade until your codebase has migrated to Vitest and ESM.Minor Changes
Re-export
eslint-config-seek/extensionsviaeslint-config-skuba/extensions(#2291)This allows users to import from
eslint-config-skuba/extensionsinstead of needing to hoist or installeslint-config-seekas a direct dependency.Remove
require-extensionsrules (#2124)This removes the
require-extensionsrules which were previously used to enforce file extensions on imports to reduce the number of files that needed to be changed when migrating to ESM.Migrate to ESM (#2124)
This package is still being published as a dual ESM/CJS package, but the source code is now ESM.
Patch Changes
pnpm-plugin-skuba@3.0.0
Major Changes
Patch Changes
lint: Remove
semver@5.7.2frompnpm-workspace.yamltrustPolicyExcludelist (#2300)This legacy package version is no longer a transitive dependency of skuba.
@skuba-lib/api@2.1.0
Minor Changes
Migrate to ESM (#2124)
This package is still being published as a dual ESM/CJS package, but the source code is now ESM.
eslint-plugin-skuba@2.1.0
Minor Changes
Migrate to ESM (#2124)
This package is still being published as a dual ESM/CJS package, but the source code is now ESM.
skuba-dive@4.1.0
Minor Changes
Migrate to ESM (#2124)
This package is still being published as a dual ESM/CJS package, but the source code is now ESM.
@skuba-lib/vitest-koa-mocks@1.0.2
Patch Changes
sessionandstateoption types increateMockContextfromRecord<string, unknown>toRecord<string, any>(#2331)